package com.edan.partnerback.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.edan.partnerback.common.VO.LoginDTO;
import com.edan.partnerback.common.VO.UserRequest;
import com.edan.partnerback.entity.Permission;
import com.edan.partnerback.entity.User;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author edan
 * @since 2024-03-28
 */
public interface IUserService extends IService<User> {

    LoginDTO login(User user);

    void register(UserRequest user);

    void sendEmail(String email, String type);

    String passwordReset(UserRequest userRequest);


    void logout(String uid);

    User saveUser(User user);

    List<Permission> getPermissions(String roleFlag);

    List<Permission> getTreePermissions(List<Permission> permissionList);

    String passwordUpdate(UserRequest userRequest);

    List<User> listNameByIds(List<Integer> userIds);
}
